可事实是,唯恐暴露才华不足的卑怯的畏惧,和厌恶钻研刻苦的惰怠,就是我的全部了。 ——中岛敦《山月记》
写在前面
- 对于可以连接外网的服务器装软件,只要配置yum源就可以随便使用了
- 但是对于内网来说,不能连接外网,一般情况下,管控平台只有上传的权限。尤其一些涉密的岗位,比如电力,电信,军工之类的。
- 今天和小伙伴聊聊内网服务器如何装软件的问题。
可事实是,唯恐暴露才华不足的卑怯的畏惧,和厌恶钻研刻苦的惰怠,就是我的全部了。 ——中岛敦《山月记》
方法一、直接下载安装包
找一台有网机器安装 Nginx需要的软件包(尽量同版本的操作系统,最小化安装)
1 2
| ┌──[root@liruilongs.github.io]-[~] └─$ yum -y install nginx --downloadonly --downloaddir=/root/soft
|
检查一下
1 2 3 4 5 6 7
| ┌──[root@liruilongs.github.io]-[~] └─$ cd /root/soft/ ┌──[root@liruilongs.github.io]-[~/soft] └─$ ls nginx-1.20.1-9.el7.x86_64.rpm nginx-filesystem-1.20.1-9.el7.noarch.rpm ┌──[root@liruilongs.github.io]-[~/soft] └─$
|
把整个文件夹打包拷贝到内网环境,然后执行 rpm -ivh /xx/*
命令安装所有依赖包
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| ┌──[root@liruilongs.github.io]-[~] └─$ rpm -ivh /root/soft/* warning: /root/soft/nginx-1.20.1-9.el7.x86_64.rpm: Header V4 RSA/SHA256 Signature, key ID 352c64e5: NOKEY Preparing... Updating / installing... 1:nginx-filesystem-1:1.20.1-9.el7 2:nginx-1:1.20.1-9.el7 ┌──[root@liruilongs.github.io]-[~] └─$ systemctl start nginx ┌──[root@liruilongs.github.io]-[~] └─$ curl http://127.0.0.1:80 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>Welcome to CentOS</title> <style rel="stylesheet" type="text/css">
|
如果内网环境有 createrepo
命令的话,把下载的东西拷贝过去,可以自定义yum源,通过yum的方式安装
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58
| ┌──[root@liruilongs.github.io]-[~] └─$ createrepo -v /root/soft/ Spawning worker 0 with 1 pkgs Spawning worker 1 with 1 pkgs Worker 0: reading nginx-1.20.1-9.el7.x86_64.rpm Worker 1: reading nginx-filesystem-1.20.1-9.el7.noarch.rpm Workers Finished Saving Primary metadata Saving file lists metadata Saving other metadata Generating sqlite DBs Starting other db creation: Tue Nov 2 02:41:26 2021
▽ [nginx] Ending other db creation: Tue Nov 2 02:41:26 2021 Starting filelists db creation: Tue Nov 2 02:41:26 2021 Ending filelists db creation: Tue Nov 2 02:41:26 2021 Starting primary db creation: Tue Nov 2 02:41:26 2021 Ending primary db creation: Tue Nov 2 02:41:26 2021 Sqlite DBs complete ┌──[root@liruilongs.github.io]-[~] └─$ cd /root/soft/ ┌──[root@liruilongs.github.io]-[~/soft] └─$ ls nginx-1.20.1-9.el7.x86_64.rpm nginx-filesystem-1.20.1-9.el7.noarch.rpm repodata ┌──[root@liruilongs.github.io]-[~/soft] └─$ cd repodata/;ls 2a85d8bedd0e987fe0c492840e8d9e7194f1da556db1282b6b731cc0c6978ded-primary.sqlite.bz2 8fe41a398aa040ec1b69ea2d54fae6c91dda6964a51a737b9becfa05bb7504f4-other.sqlite.bz2 a8c56a126109fae47bdd4dfa6e33e8575bd9e660fc6826f6623fb8d08f1ce293-filelists.xml.gz b5c57aa7aecbcfe4826a9e4c4dcb3c05193b0ed64e6858e4e755bc785003a009-primary.xml.gz dbc9a1a851b14aeb972e05dac2b17a896848993ebbd494a01b566c75ba5d0ef8-other.xml.gz ed1fa31928cf100748169e2b5ff1cb354b1c45a0b860f805830eb679872d38fd-filelists.sqlite.bz2 repomd.xml ┌──[root@liruilongs.github.io]-[~/soft/repodata] └─$ cd ..;createrepo --update ./ Saving Primary metadata Saving file lists metadata Saving other metadata Generating sqlite DBs Sqlite DBs complete ┌──[root@liruilongs.github.io]-[~/soft] └─$ vim nginx.repo ┌──[root@liruilongs.github.io]-[~/soft] └─$ cat nginx cat: nginx: No such file or directory ┌──[root@liruilongs.github.io]-[~/soft] └─$ cat nginx.repo [nginx] name=nginx baseurl=file://root/soft enabled=1 gpgcheck=0 priority=1 ┌──[root@liruilongs.github.io]-[~/soft] └─$
|
方法二、通过IOS挂载配置
iso
挂载的方式,iso
挂载方式这里可以使用不同的协议,但是内网,所以我们只能用file
协议,前提将有包的IOS
镜像拷贝到要装包的机器。当然,如果这个机器所在内网的其他机器有相关的包,可以使用http
,ftp
协议。
挂载本地镜像文件。正常IOS文件一般会放到dev/ 文件夹下,需要把相关的文件挂载到指定的目录下,
1 2 3
| [root@liruilongs.github.io ~] [root@liruilongs.github.io yum.repos.d] [root@liruilongs.github.io yum.repos.d]
|
将yum的原本配置备份
1 2 3 4 5
| [root@liruilongs.github.io ~] [root@liruilongs.github.io yum.repos.d] [root@liruilongs.github.io yum.repos.d] [root@liruilongs.github.io yum.repos.d] [root@liruilongs.github.io yum.repos.d]
|
第三步:配置本地yum源
1 2 3 4 5 6 7 8
| [root@liruilongs.github.io ~] [centos] name=Centos7 baseurl=file:///centos7 gpgcheck=0 enabled=1 [root@liruilongs.github.io ~] [root@liruilongs.github.io ~]
|
这样我们通过iso装包就配置好啦。之后就可以通过yum使用了